home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1998 / MacHack 1998.toast / The Hacks! / Talking KeyBoard / Source / command.h < prev    next >
Text File  |  1998-05-20  |  1KB  |  43 lines

  1. // Program Author: Paul Baxter
  2. //    pbaxter@assistivetech.com
  3. //
  4. //
  5.  
  6. typedef ResType CommandType;
  7.  
  8. #define kCommandMask    0xFFFFFF00
  9. #define kValueMask        0x000000FF
  10. #define kValueShift        24
  11.  
  12. typedef void (*ActionProcPtr)(CommandType command, void* refCon);
  13.  
  14. typedef struct {
  15.     CommandType command;
  16.     ActionProcPtr action;
  17. } CommandEntry;
  18.  
  19.  
  20. #define VoiceCmd                'VOI '
  21. #define SpeakCharsCmd            'SPC '
  22. #define SpeakWordsCmd            'SWD '
  23. #define SpeakSentencesCmd        'SPS '
  24. #define QuitCmd                    'QUI '
  25. #define AboutCmd                'ABO '
  26. #define OpenDescAccCmd            'ODC '
  27.  
  28. #define kToggleValue            '!'
  29. #define kIncValue                '+'
  30. #define kDecValue                '-'
  31. #define kSetValMin                '0'
  32. #define kSetValMax                '9'
  33. #define kStringValue            '%'
  34. #define kTrueValue                (true + kSetValMin)
  35. #define kFalseValue                (false + kSetValMin)
  36.  
  37.  
  38. #define CHANGEVALUE(cmd, val)    (cmd & kCommandMask) | (val & kValueMask)
  39. #define TOGGLE_COMMAND(cmd)        CHANGEVALUE(cmd, kToggleValue)
  40. #define STRING_COMMAND(cmd)        CHANGEVALUE(cmd, kStringValue)
  41.  
  42. extern void ProcessCommand(CommandType command, void* param);
  43.